package com.assignwork.service;

import com.assignwork.dto.VoyageVisaSearchDTO;
import com.assignwork.dto.VoyageVisaSubmitDTO;
import com.assignwork.entity.VoyageVisa;
import com.assignwork.vo.VoyageVisaPageVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;

import java.math.BigDecimal;

/**
 * 船舶签证服务类
 */
public interface IVoyageVisaService extends BaseService<VoyageVisa> {

    /** 
     * 分页
     * @param dto 搜索条件
     * @param page 分页
     * @return IPage<VoyageVisaPageVO>
     * @author dujianyu
     * @since 2023/8/23 8:55
     */ 
    IPage<VoyageVisaPageVO> selectVoyageVisaPage(VoyageVisaSearchDTO dto, IPage<VoyageVisaPageVO> page);

    /**
     * 新增或修改
     * @param dto 提交数据
     * @return Boolean
     * @author dujianyu
     * @since 2023/8/23 9:55
     */
    Boolean submitVoyageVisa(VoyageVisaSubmitDTO dto);

    /**
     * 航次签证吨
     * @param voyageId 根据航次信息获取仓库签证吨
     * @return BigDecimal
     * @author dujianyu
     * @since 2023/8/23 13:37
     */
    BigDecimal visaTonByVoyageId(String voyageId);
}